package com.yunxin.core.application.service;

import com.yunxin.core.application.command.merchant.*;

import java.util.List;

/**
 * @author zero°
 * @since 2023-05-25
 */
public interface MerchantApplicationAdminService {

    /**
     * 新增商户
     * @param command command
     * @return  boolean
     */
    boolean addMerchant(AddMerchantCommand command);

    /**
     * 编辑商户
     * @param command command
     * @return  boolean
     */
    boolean updateMerchant(UpdateMerchantCommand command);

    /**
     * 编辑商户状态
     * @param command command
     * @return  boolean
     */
    boolean updateMerchantStatus(UpdateMerchantStatusCommand command);

    /**
     * 操作商户用户账号（新增/编辑）
     * @param command command
     * @return boolean
     */
    boolean operateMerchantUserAccount(OperateMerchantUserAccountCommand command);

    /**
     * 操作商户用户账号状态
     * @param command command
     * @return boolean
     */
    boolean operateMerchantAccountStatus(OperateMerchantAccountStatusCommand command);

    /**
     * 操作商户用户账号接单状态
     * @param command command
     * @return boolean
     */
    boolean operateMerchantAccountReceivingStatus(OperateMerchantAccountReceivingStatusCommand command,Long merchantId);

    /**
     * 删除商户用户
     * @param sysUserIds sysUserIds
     * @return boolean
     */
    boolean deleteMerchantAccount(List<Long> sysUserIds);

}
